package com.tudouji.project.produce.service;

import java.util.List;

import com.tudouji.framework.web.domain.AjaxResult;
import com.tudouji.project.bill.domain.Whoutform;
import com.tudouji.project.produce.domain.Scrapapply;

/**
 * 报废单Service接口
 * 
 * @author tudouji
 * @date 2022-06-01
 */
public interface IScrapapplyService 
{
    /**
     * 查询报废单
     * 
     * @param guid 报废单ID
     * @return 报废单
     */
    public Scrapapply selectScrapapplyById(String guid);

    /**
     * 查询报废单列表
     * 
     * @param scrapapply 报废单
     * @return 报废单集合
     */
    public List<Scrapapply> selectScrapapplyList(Scrapapply scrapapply);

    /**
     * 新增报废单
     * 
     * @param scrapapply 报废单
     * @return 结果
     */
    public int insertScrapapply(Scrapapply scrapapply);

    /**
     * 修改报废单
     * 
     * @param scrapapply 报废单
     * @return 结果
     */
    public int updateScrapapply(Scrapapply scrapapply);

    /**
     * 批量删除报废单
     * 
     * @param guids 需要删除的报废单ID
     * @return 结果
     */
    public int deleteScrapapplyByIds(String[] guids);

    /**
     * 删除报废单信息
     * 
     * @param guid 报废单ID
     * @return 结果
     */
    public int deleteScrapapplyById(String guid);

    AjaxResult approval(Long id, String imgids, String opinion, Long taskid);

    AjaxResult save(Scrapapply scrapapply, String fileIds);

    AjaxResult refuse(Long id, String fileIds, String opinion, Long taskid, Long refuseNodeid, Long backUserid);

    List<Scrapapply> selectScrapapplyList(Scrapapply scrapapply, String status, String functionType);

    AjaxResult scrapWhout(Whoutform whoutform, Long taskid, Long id, String opinion, String fileIds);

    public Double getSumWeight(Scrapapply scrap);
}
